Community属性在BGP中的应用

您所在的位置:网站首页 华为route map配置 Community属性在BGP中的应用

Community属性在BGP中的应用

2023-09-02 14:39| 来源: 网络整理| 查看: 265

Community属性介绍

团体属性是一组有相同特征的目的地址的集合。团体属性用来简化路由策略的应用和降低维护管理的难度,利用团体可以使多个AS中的一组BGP设备共享相同的策略。团体是一个路由属性,在BGP对等体之间传播,且不受AS的限制。BGP设备在将带有团体属性的路由发布给其它对等体之前,可以先改变此路由原有的团体属性。

Community属性是一组4个字节的数值,RFC1997规定前两个字节表示AS号,后两个字节表示基于管理目的设置的标示符,格式为AA:NN。 Community属性是一种BGP路由标记,用于简化路由策略的执行。可以将某些路由分配一个特定的Community属性值,之后就可以基于Community值而不是每条路由来抓取路由并执行相应的策略了。 图11-16  Community属性的应用场景

在图11-16中,AS100内有大量的路由被引入BGP,这些路由分别用于语音通话和视频监控两种业务。路由通过BGP通告给AS200。现在AS200的设备基于某种需求,需要分别对语音通话和视频监控的路由执行不同的策略,那么怎么匹配这些路由呢?可以用ACL或者ip-prefix逐条匹配路由,但是由于路由前缀非常多,这样工作量太大,效率低下。

可以使用Community属性来解决这个问题。在AS100引入这些路由的时候,就分别打上相应的Community值用来区分语音通话的路由和视频监控的路由,凡是语音通话的路由,就打上标记100:1,凡是视频监控的路由就打上标记100:2,那么这些属性值随着路由传递给了AS200,在AS200上需要分别对语音通话和视频监控的路由做策略的时候,只需要抓取相应Community值即可。例如抓取100:1的community值也就抓取了所有语音业务的路由。

BGP定义了一些公认的团体属性,这些团体属性可以直接使用,常见的如表11-7所示:

表11-7  BGP公认团体属性

团体属性名称

说明

internet

缺省情况下,所有的路由都属于internet团体。具有此属性的路由可以被通告给所有的BGP对等体。

no-advertise

具有此属性的路由在收到后,不能被通告给任何其他的BGP对等体。

no-export

具有此属性的路由在收到后,不能被发布到本地AS之外。如果使用了联盟,则不能被发布到联盟之外,但可以发布给联盟中的其他子AS。

no-export-subconfed

具有此属性的路由在收到后,不能被发布到本地AS之外,也不能发布到联盟中的其他子AS。

设置路由的Community属性

要使用团体属性过滤器,前提是路由携带了Community属性。通过下面的举例可以学习如何设置路由的Community属性。

图11-17  设置路由前缀的Community属性

需求描述

如图11-17所示,在AS100内的LSW1上通过BGP发布两条路由:10.1.1.0/24和10.1.2.0/24。在LSW1的BGP进程中,使用出方向(export)路由策略,修改10.1.1.0/24这条路由的Community属性为100:1,这样下游设备就可以根据这个Community属性执行相应的策略。

配置方法

LSW1上的关键配置:

# ip ip-prefix huawei index 10 permit 10.1.1.0 24 //定义一个前缀列表,匹配目标路由 # route-policy RP permit node 10 //定义一个路由策略,设置目标路由的团体属性 if-match ip-prefix huawei apply community 100:1 route-policy RP permit node 20 //用于允许剩余所有路由通过 # bgp 100 router-id 1.1.1.1 peer 192.168.12.2 as-number 200 # ipv4-family unicast undo synchronization network 10.1.1.0 255.255.255.0 //发布路由 network 10.1.2.0 255.255.255.0 //发布路由 peer 192.168.12.2 enable peer 192.168.12.2 route-policy RP export //对BGP对等体的export方向绑定路由策略 peer 192.168.12.2 advertise-community //配置将团体属性发布给对等体 #

LSW2上的关键配置:

# bgp 200 router-id 2.2.2.2 peer 192.168.12.1 as-number 100 peer 192.168.23.2 as-number 300 # ipv4-family unicast undo synchronization peer 192.168.12.1 enable peer 192.168.23.2 enable peer 192.168.23.2 advertise-community //配置将团体属性发布给对等体 #

值得注意的是,默认情况下,Community属性是不会随路由前缀更新给BGP peer的,因此在LSW1和LSW2上都需要通过peer advertise-community配置将团体属性发布给对等体功能。

结果验证

完成上述配置之后,查看LSW3的BGP路由,结果如下:

display bgp routing-table 10.1.1.0 BGP local router ID : 3.3.3.3 Local AS number : 300 Paths: 1 available, 1 best, 1 select BGP routing table entry information of 10.1.1.0/24: From: 192.168.23.1 (2.2.2.2) Route Duration: 01h08m07s Direct Out-interface: Vlanif23 Original nexthop: 192.168.23.1 Qos information : 0x0 Community: //这个团体属性就是在LSW1上通过路由策略设置,并传递到下游的 AS-path 200 100, origin igp, pref-val 0, valid, external, best, select, active, pre 255 Not advertised to any peer yet

从LSW3的BGP路由表项可以看到,在LSW1上设置路由的Community属性以后,经过路由传递,到达LSW3上的时候携带一个Community属性,这样,在LSW3上就可以根据这个标记执行某些策略了。

关于设置BGP路由的Community属性,还有更详细的设置方法,举几个常见的例子,供大家参考,如表11-8所示:

表11-8  设置BGP路由的Community属性举例

命令

功能

apply community 100

团体名更改为100。

apply community 100 150

团体名更改为100或150,即BGP路由属于两个团体。

apply community 100 150 additive

在原来基础上追加100和150两个团体属性。即BGP路由属于三个团体。

apply community none

删除BGP路由的团体属性。

使用Community-filter匹配BGP路由

上一小节介绍了如何设置BGP路由的Community属性,当上游的设备设置了Community属性以后,这个属性会随着路由传递下来,这样下游的设备就可以根据这个属性执行相应的策略。BGP提供了一个工具:community-filter,即团体属性过滤器。下面通过一个例子学习如何使用团体属性过滤器。

图11-18  使用community-filter匹配BGP路由

需求描述

如图11-18所示,AS100内的LSW1发布三条BGP路由,Community属性的设置如图所示,这个Community属性随着路由的传递到达AS300内的LSW3设备上。执行策略之前先查看LSW3的BGP路由表:

display bgp routing-table BGP Local router ID is 3.3.3.3 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 3 Network NextHop MED LocPrf PrefVal Path/Ogn *> 10.1.1.0/24 192.168.23.1 0 200 100i *> 10.1.2.0/24 192.168.23.1 0 200 100i *> 10.1.3.0/24 192.168.23.1 0 200 100i

可以看到,LSW3上的BGP路由表里有三条路由。现在LSW3上根据团体属性执行路由策略,允许携带100:999属性的路由通过,其他的路由不允许通过。

配置方法

设置Community属性的方法上面已经讲过,不再赘述,这里只看一下如何使用community-filter过滤路由。

LSW3上的关键配置:

# ip community-filter 1 permit 100:999 //允许包含团体属性100:999的路由 # route-policy huawei permit node 10 //通过路由策略调用团体属性过滤器 if-match community-filter 1 # bgp 300 router-id 3.3.3.3 peer 192.168.23.1 as-number 200 # ipv4-family unicast undo synchronization peer 192.168.23.1 enable peer 192.168.23.1 route-policy huawei import //对peer使用入方向路由策略 #

结果验证

完成上述配置以后,查看LSW3的BGP路由表:

[LSW3] display bgp routing-table BGP Local router ID is 3.3.3.3 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 2 Network NextHop MED LocPrf PrefVal Path/Ogn *> 10.1.1.0/24 192.168.23.1 0 200 100i *> 10.1.2.0/24 192.168.23.1 0 200 100i

由于定义的community-filter匹配包含团体属性为100:999的路由,因此10.1.1.0/24,10.1.2.0/24这两条路由将在LSW3上允许,其他BGP路由被禁止通过。

针对这个场景,下面再给出几个常用的community-filter的配置方法,供大家参考:

Case1:

ip community-filter 1 permit 100:1 100:999 //需要100:1 100:999这两个团体属性都有才能匹配。因此匹配10.1.1.0/24这条路由。

Case2:

ip community-filter 1 permit 100:1 ip community-filter 1 permit 100:2 //只要community属性中包含100:1或者100:2就能匹配到。因此匹配10.1.1.0/24和10.1.2.0/24这两条路由。

Case3:

ip community-filter 1 permit internet //默认所有路由携带internet属性,所以这样会匹配所有的路由。 相关信息

技术论坛

华为S系列交换机路由策略专题合集



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3